package org.shangrila.app.wechat.utils;

import org.shangrila.app.wechat.bean.WechatUser;
import org.shangrila.app.wechat.bean.WxError;
import org.shangrila.app.wechat.notification.TextMessage;
import org.shangrila.app.wechat.notification.TextMessageChild;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class WeChatUtil {
	private static Logger logger = LoggerFactory.getLogger(WeChatUtil.class);
	
	/**
	 * 
	 * @param wxno 成员ID列表（消息接收者，多个接收者用‘|’分隔，最多支持1000个）。特殊情况：指定为@all，则向该企业应用的全部成员发送
	 * @param str
	 * @return
	 */
	public static WxError sendTextMessage(String wxno,String str) {
		TextMessage msg = new TextMessage();
		msg.setTouser(wxno);
		msg.setMsgtype(MessageUtil.NOTI_MESSAGE_TYPE_TEXT);
		msg.setAgentid(Integer.parseInt(AccessWxUtil.agentid));
		msg.setSafe(0);
		TextMessageChild content = new TextMessageChild();
		content.setContent(str);
		msg.setText(content);
		WxError wxError = WeChatHttpUtil.sendMessage(msg);
		logger.error(wxError.getErrmsg()+"--"+wxError.getErrcode());
		return wxError;
	}
	
	/**
	 * 
	 * @param userId     成员UserID。对应管理端的帐号，企业内必须唯一。不区分大小写，长度为1~64个字节
	 * @param userName   成员名称。长度为1~64个字符
	 * @param department 成员所属部门id列表,不超过20个
	 * @param mobile     手机号码。企业内必须唯一，mobile/email二者不能同时为空
	 * @param email      邮箱。长度不超过64个字节，且为有效的email格式。企业内必须唯一，mobile/email二者不能同时为空
	 * @return
	 */
	public static WxError createUser(String wxno,String userName,int[] department,String mobile,String email) {
		WechatUser wechatUser = new WechatUser();
		wechatUser.setUserid(wxno);
		wechatUser.setName(userName);
		wechatUser.setDepartment(department);
		wechatUser.setMobile(mobile);
		wechatUser.setEmail(email);
		return WeChatHttpUtil.createUser(wechatUser);
	}
	
}
